Networks are well known in the computer field. By definition, a network is a group of computers and associated devices that are connected by communications facilities or links. An internetwork, in turn, is the joining of multiple computer networks, both similar and dissimilar, by means of gateways or routers that facilitate data transfer and conversion from various networks. A well-known abbreviation for the term internetwork is “internet.” As currently understood, the capitalized term “Internet” refers to the collection of networks and routers that use the Internet Protocol (“IP”), to communicate with one another. The Internet has recently seen explosive growth by virtue of its ability to link computers located throughout the world. As will be appreciated from the following description, the present invention could find use in many interactive environments; however, for purposes of discussion, the Internet is used as an exemplary interactive environment for implementing the present invention.
The Internet has quickly become a popular method of disseminating information due, in large part, to its ability to deliver information quickly and reliably. To retrieve content or other data over the Internet, a user typically uses communications or network browsing software. A common way of retrieving online content is using a network “browser” to access content at a uniform resource locator (“URL”) address that indicates the location of the content on a server.
A browser usually represents retrieved online content as paged content, such as from HyperText Markup Language (“HTML”) formatted pages (e.g., Web pages). In particular, when online content is retrieved as a result of a search request, a series of Web pages may be represented by page numbers. For example, a search engine request may turn up a thousand separate references with twenty references per Web page, thereby presenting fifty Web pages of search results. These fifty Web pages would usually include a paging control for navigating from one page to the next, and to specific pages (e.g., a “flat” paging control might display as “[1] 2 3 4 5 10 20 30 40 50”).
One problem with previous paging controls has been that different types of paging controls are appropriate for different types of display environments (i.e., the devices and/or applications that display pages). For example, if there is a relatively small number of pages represented by a paging control (e.g., ten or less), then it may be beneficial to list all the page results in a flat paging control that lists every page. While a flat paging control will work in some instances, if screen display space (or display space within an application displaying a page on a screen) is limited, and there are a large number of pages, a flat paging control becomes less desirable. While alternate paging controls are available, they are usually only desirable if a large number of pages are to be represented by the paging control or if display space is extremely limited (e.g., on a hand-held device or similar device with a small display area).
Prior solutions that address the issue of limited space have usually provided a single type of paging control. For example, an edit box paging control that requests a specific page number without listing all the pages, regardless of whether there is enough room on a particular drive to use a flat paging control for the specific number of items to be displayed. Such a solution is obviously a compromise because users generally prefer to have user interfaces that are easy to navigate, if they are available. Compromise solutions to the problem of which paging control to choose for a particular application are undesirable.
Accordingly, a need exists for a method of automatically selecting a paging control type from a plurality of paging control types available for display on a device based on the number of items to be displayed and/or the nature of the display environment.